﻿using System.ComponentModel;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text.Json.Serialization;
using XYAC.Framework.WohuaMesExtend.IHI.Extensions;

namespace XYAC.Framework.WohuaMesExtend.IHI.IHI.Models
{

    [Table("SpecInfo")]
    public class SpecInfo_IHI
    {
        [Description("ID")]
        public int ID { get; set; } // 主键
        [Description("TypeName")]
        [NullReplace("")]
        public string TypeName { get; set; } // 规格名称
        [Description("UpVal")]
        public float? UpVal { get; set; } // 上胶片厚度
        [Description("UpTolerance")]
        public float? UpTolerance { get; set; } // 上胶片厚度公差
        [Description("DownVal")]
        public float? DownVal { get; set; } // 下胶片厚度
        [Description("DownTolerance")]
        public float? DownTolerance { get; set; } // 下胶片厚度公差
        [Description("AllVal")]
        public float? AllVal { get; set; } // 总胶片厚度
        [Description("AllTolerance")]
        public float? AllTolerance { get; set; } // 总胶片厚度公差
        [Description("AllWidth")]
        public float? AllWidth { get; set; } // 宽度
        [Description("AllWidthTolerance")]
        public float? AllWidthTolerance { get; set; } // 宽度公差
        [Description("AllValBuChang")]
        public float? AllValBuChang { get; set; } // 总厚补偿
        [Description("UpKnifeWidth")]
        public float? UpKnifeWidth { get; set; } // 上刀宽度
        [Description("DownKnifeWidth")]
        public float? DownKnifeWidth { get; set; } // 下刀宽度
        [Description("UpKnifeYL")]
        public float? UpKnifeYL { get; set; } // 上刀压力
        [Description("DownKnifeYL")]
        public float? DownKnifeYL { get; set; } // 下刀压力
        [Description("SpeedXS")]
        public float? SpeedXS { get; set; } // 速比
        [Description("LowSpeedExit")]
        public float? LowSpeedExit { get; set; } // 低速退刀 
        /// <summary>
        /// 数据Hash值
        /// </summary>
        [NotMapped]
        [JsonIgnore]
        public string Hash { get; set; }

        public override string ToString()
        {
            return this.TypeName;
        }
    }

}
